package xiongwei.jiang.model.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.List;

/**
 * 获取 user 信息响应参数对象
 *
 * @author 天之蓝
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class UserInfoResponseDTO {
    /**
     * 返回码
     */
    private Integer errcode;
    /**
     * 对返回码的文本描述内容
     */
    private String errmsg;
    /**
     * 成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节
     */
    private String userid;
    /**
     * 成员名称
     */
    private String name;
    /**
     * 手机号码，第三方仅通讯录应用可获取
     */
    private String mobile;
    /**
     * 成员所属部门id列表，仅返回该应用有查看权限的部门id
     */
    private List<Integer> department;
    /**
     * 部门内的排序值，默认为0。数量必须和department一致，数值越大排序越前面。值范围是[0, 2^32)
     */
    private List<Long> order;
    /**
     * 职务信息；第三方仅通讯录应用可获取
     */
    private String position;
    /**
     * 性别。0表示未定义，1表示男性，2表示女性
     */
    private String gender;
    /**
     * 邮箱，第三方仅通讯录应用可获取
     */
    private String email;
    /**
     * 表示在所在的部门内是否为上级。第三方仅通讯录应用可获取
     */
    private List<Integer> is_leader_in_dept;
    /**
     * 头像url。注：如果要获取小图将url最后的“/0”改成“/100”即可。第三方仅通讯录应用可获取
     */
    private String avatar;
    /**
     * 头像缩略图url。第三方仅通讯录应用可获取
     */
    private String thumb_avatar;
    /**
     * 座机。第三方仅通讯录应用可获取
     */
    private String telephone;
    /**
     * 别名；第三方仅通讯录应用可获取
     */
    private String alias;
    /**
     * 激活状态：1=已激活，2=已禁用，4=未激活。已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）。
     */
    private Integer status;
    /**
     * 员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取
     */
    private String qr_code;
    /**
     * 地址。第三方仅通讯录应用可获取
     */
    private String address;
    /**
     * 全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取
     */
    private String open_userid;
    /**
     * 主部门
     */
    private Integer main_department;
}
